package cn.arnold.offer.tuhu;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

public class Soultion {
    /**
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     *
     * @param y1 int整型 当前日期的年
     * @param m1 int整型 当前日期的月
     * @param d1 int整型 当前日期的日
     * @param y2 int整型 项目截止日期的年
     * @param m2 int整型 项目截止日期的月
     * @param d2 int整型 项目截止日期的日
     * @return int整型
     */
    public int workdays_between(int y1, int m1, int d1, int y2, int m2, int d2) {
        // write code here
        int count = 0;
        try {
            String pivot = "1-1-1";
            String begin = y1 + "-" + m1 + "-" + d1;
            String end = y2 + "-" + m2 + "-" + d2;
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            Date beginDate = sdf.parse(begin);
            Date endDate = sdf.parse(end);
            Date pivotDate = sdf.parse(pivot);
            Calendar calendar = new GregorianCalendar();
            calendar.setTime(beginDate);
            //间隔天数
            int gap = (int) (endDate.getTime() - beginDate.getTime());
            for (int i = 0; i < gap; i++) {
                calendar.add(Calendar.DAY_OF_MONTH, 1);
                Date timeTmp = calendar.getTime();
                int gapTmp = (int) (timeTmp.getTime() - pivotDate.getTime());
                int mod = gapTmp % 7;
                if (mod != 5 || mod != 6) {
                    count++;
                }
            }

        } catch (ParseException e) {
            e.printStackTrace();
        }
        return count;
    }
}
